//
//  main.c
//  插入排序
//
//  Created by 卜绎皓 on 2022/7/16.
//
#include<stdio.h>


void PrintArray(int* a, int n)
{
    for (int i = 0; i < n; ++i)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
}

void InserSort (int arr[], int n)
{
    int i,j;
    for(i=1; i<n; i++)
    {
        //将数据插入有序表
        int tmp=arr[i];     //设置哨兵
        if(tmp>arr[i-1])
        {
            //将比当前数据大的元素依次向后移动
            for(j=i-1; j>=0 && tmp>arr[j]; j--)
                arr[j+1]=arr[j];
            arr[j+1]=tmp;
            
        }
    }
}

int main()
{
    int k[] = {2, 1, 5, 7, 5, 6, 10, 20, 15, 17, 16, 14, 13};
    InserSort(k, 13);
    PrintArray(k, 13);
    return 0;
}
